package com.controller.houseon;

import java.util.ArrayList;



import com.model.houseon.CasaBean;
import com.model.houseon.ComunicaWebService;
import com.model.houseon.DEscenarioBean;
import com.model.houseon.DispositivoBean;
import com.model.houseon.EscenarioBean;
import com.model.houseon.TipoDispositivoBean;
import com.model.houseon.TipoEscenarioBean;
import com.model.houseon.UsuarioBean;


public class ControlHouseON {
	
	private static ControlHouseON instancia;
	
	public CasaBean CurrentCasa;
	public UsuarioBean CurrentUsuario;
	public EscenarioBean CurrentEscenario;
	public DispositivoBean CurrentDispositivo;
	public Boolean CurrentEstado;
	
	
	////////////////////////////////
	
	
	
	public ArrayList<TipoEscenarioBean> ListaTipoE;
	public ArrayList<TipoDispositivoBean> ListaTipoD;
	public ArrayList<UsuarioBean> ListaUsuario;
	
	private ControlHouseON() {
	}
	
	public static ControlHouseON getInstancia() {
		if (instancia == null) {
			instancia = new ControlHouseON();
		}
		return instancia;
	}
	
	
	public UsuarioBean validaUsuario(String user, String pass){
		ComunicaWebService ws = new ComunicaWebService("ValidaUsuarioWS");
		return ws.ValidarUsuario(user, pass);
	}

	public ArrayList<CasaBean> ListaCasa(int idUsuario) {
		// TODO Auto-generated method stub
		ComunicaWebService ws = new ComunicaWebService("ListaCasaWS");
		return ws.ListarCasa(idUsuario);
	}
	
	public CasaBean BuscarCasaxId(int idCasa) {
		// TODO Auto-generated method stub
		CasaBean objCasa=null;
		//ComunicaWebService ws = new ComunicaWebService("ListarEscenarios");
		try{
			ComunicaWebService ws = new ComunicaWebService("BuscarCasaxIdWS");
			objCasa=ws.BuscarCasaxId(idCasa);
			
			
		}catch(Exception e){
			e.printStackTrace();
		}
		
		return objCasa;
	}
	
	public ArrayList<TipoEscenarioBean> ListaTipoEscenario() {
		// TODO Auto-generated method stub
		ArrayList<TipoEscenarioBean> lstTE=null;
		//ComunicaWebService ws = new ComunicaWebService("ListarEscenarios");
		try{
			ComunicaWebService ws = new ComunicaWebService("ListaTipoEscenarioWS");
			lstTE=ws.ListaTipoEscenario();
			
			
		}catch(Exception e){
			e.printStackTrace();
			
		}
		
		return lstTE;
	}
	
	
	public ArrayList<TipoDispositivoBean> ListaTipoDispostivo() {
		// TODO Auto-generated method stub
		ArrayList<TipoDispositivoBean> lstTD=null;
		//ComunicaWebService ws = new ComunicaWebService("ListarEscenarios");
		try{
			ComunicaWebService ws = new ComunicaWebService("ListaTipoDispositivoWS");
			lstTD=ws.ListaTipoDispostivo();
			
			
		}catch(Exception e){
			e.printStackTrace();
			
		}
		
		return lstTD;
	}
	
	
	public ArrayList<EscenarioBean> ListaEscenarioxTipoE(int idTipoEscenario , int idCasa) {
		// TODO Auto-generated method stub
		ArrayList<EscenarioBean> lstE=null;
		//ComunicaWebService ws = new ComunicaWebService("ListarEscenarios");
		try{
			ComunicaWebService ws = new ComunicaWebService("ListaEscenarioxTipoxCasaWS");
			lstE=ws.ListaEscenarioxTipoE(idTipoEscenario, idCasa);
			
		}catch(Exception e){
			e.printStackTrace();
			
		}
		
		return lstE;
	}
	
	
	
	public ArrayList<DEscenarioBean> ListaDispositivoxTipoxCasa(int idTipo, int idCasa) {
		// TODO Auto-generated method stub
		ArrayList<DEscenarioBean> lstD=null;
		//ComunicaWebService ws = new ComunicaWebService("ListarEscenarios");
		try{
			ComunicaWebService ws = new ComunicaWebService("ListaDispositivoxTipoxCasaWS");
			lstD=ws.ListaDispositivoxTipoxCasa(idTipo, idCasa);
			
			
		}catch(Exception e){
			e.printStackTrace();
			
		}
		
		return lstD;
	}
	
	public ArrayList<DEscenarioBean> ListaDispositivoxEscenario(int idEscenario) {
		// TODO Auto-generated method stub
		ArrayList<DEscenarioBean> lstD=null;
		//ComunicaWebService ws = new ComunicaWebService("ListarEscenarios");
		try{
			ComunicaWebService ws = new ComunicaWebService("ListaDispositivoxEscenarioWS");
			lstD=ws.ListaDispositivoxEscenario(idEscenario);
			
			
		}catch(Exception e){
			e.printStackTrace();
			
		}
		
		return lstD;
	}
	
	
	public Boolean ActualizaEstadoD(int idDispositivo) {
		ComunicaWebService ws = new ComunicaWebService("ActualizarEstadoDispWS");
		return ws.ActualizaEstadoD(idDispositivo);
	}
	
	public Boolean ActualizarCasa(int idcasa, String nombre, String img) {
		ComunicaWebService ws = new ComunicaWebService("ActualizarCasaWS");
		return ws.ActualizarCasaWS(idcasa, nombre, img);
	}
	
	public Boolean ActualizarEscenarioWS(int idEscenario,String nombreEscenario,String img){
		
		ComunicaWebService ws = new ComunicaWebService("ActualizarEscenarioWS");
		return ws.ActualizarEscenarioWS(idEscenario, nombreEscenario, img);
		
	}
	
	public Boolean ActualizarDetWS(int idDetalle,String nombreDetalle) {
		
		ComunicaWebService ws = new ComunicaWebService("ActualizarNombreDetWS");
		return ws.ActualizarDetWS(idDetalle, nombreDetalle);
		
	}
	
	public Boolean ActualizarDispositivoWS(int idDisp,String nombreDisp, String img) {
		
		ComunicaWebService ws = new ComunicaWebService("ActualizarDispositivoWS");
		return ws.ActualizarDispositivoWS(idDisp, nombreDisp, img);
		
	}
}
	
	
	

